<template>
  <!-- 定义在这里的参数都是不可在外部覆盖的，防止出现问题 -->
  <m-select-biz-component :value="value" :ellipsisLength="25" :listUrl="url.list" :columns="columns" v-on="$listeners"
    v-bind="attrs" @submit="handleSubmit" />
</template>

<script>
import JDate from '@comp/jeecg/JDate'
import MSelectBizComponent from './MSelectBizComponent'

export default {
  name: 'MSelectMultiUser',
  components: { JDate, MSelectBizComponent },
  props: {
    value: null, // any type
    queryConfig: {
      type: Array,
      default: () => []
    },
  },
  data() {
    return {
      url: { list: '/sys/user/list' },
      columns: [
        { title: '姓名', align: 'center', width: '15%', widthRight: '60%', dataIndex: 'realname' },
        { title: '身份证号', align: 'center', width: '30%', dataIndex: 'idCard' },
        { title: '工号', align: 'center', width: '15%', dataIndex: 'workNo' },
        { title: '电话', align: 'center', width: '20%', dataIndex: 'phone' },
        { title: '在职状态', align: 'center', width: '10%', dataIndex: 'jobStatus_dictText' },
      ],
      // 定义在这里的参数都是可以在外部传递覆盖的，可以更灵活的定制化使用的组件
      default: {
        name: '用户',
        width: 1200,
        displayKey: 'realname',
        returnKeys: ['id', 'id'],
        queryParamText: '用户id',
        // name: '工号',
        // width: 1200,
        // displayKey: 'realname',
        // returnKeys: ['id', 'workNo'],
        // queryParamText: '工号',
      },
      // 多条件查询配置
      queryConfigDefault: [
        {
          key: 'workNo',
          label: '工号',
        },
        {
          key: 'idCard',
          label: '身份证号',
        },
        {
          key: 'phone',
          label: '手机号',
        },
        {
          key: 'realname',
          label: '姓名',
        },
        // {
        //   key: 'jobStatus',
        //   label: '员工工作状态',
        //   dictCode: 'job_status',
        //   mode: 'multiple',  //下拉多选标识
        //   // defaultValue: '1,2'
        //   // value:'1,2'
        // },
        // {
        //   key: 'jobStatus',
        //   label: '员工工作状态',
        //   // dictCode: 'job_status',
        //   customRender: () => {
        //     return   <j-multi-select-tag v-decorator="['jobStatus',{initialValue:'1,2'}]" dictCode="job_transfer_type" style="width:180px" />
        //   },
        // },
        {
          key: 'post',
          label: '岗位',
        },
        {
          key: 'workshop',
          label: '车间',
        },
        {
          key: 'classes',
          label: '班次',
          dictCode: 'classes'
        },
        {
          key: 'roomCode',
          label: '房间号',
        },
        // {
        //   key: 'sex',
        //   label: '性别',
        //   // 如果包含 dictCode，那么就会显示成下拉框
        //   dictCode: 'sex',
        // },
        // {
        //   key: 'birthday',
        //   label: '生日',
        //   placeholder: '请选择出生日期',
        //   // 如果想要使用局部注册的组件，就必须要使用箭头函数
        //   customRender: ({key, queryParam, options}) => {
        //     return <j-date {...options} vModel={queryParam[key]} style="width:180px;"/>
        //   },
        // }
      ],
    }
  },
  computed: {
    attrs() {
      return Object.assign(this.default, this.$attrs, {
        queryConfig: this.queryConfigDefault.concat(this.queryConfig)
      })
    }
  },
  methods: {
    handleSubmit(e) {
      this.$emit('submitSelect', e)
    }
  }
}
</script>

<style lang="less" scoped></style>./MSelectBizComponent